package com.ruoyi.consume.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.consume.mapper.GraftinglabelApplyConMapper;
import com.ruoyi.consume.domain.GraftinglabelApplyCon;
import com.ruoyi.consume.service.IGraftinglabelApplyConService;

/**
 * 嫁接签领用Service业务层处理
 *
 * @author ruoyi
 * @date 2021-07-23
 */
@Service
public class GraftinglabelApplyConServiceImpl implements IGraftinglabelApplyConService
{
    @Autowired
    private GraftinglabelApplyConMapper graftinglabelApplyConMapper;

    /**
     * 查询嫁接签领用
     *
     * @param graftinglabelApplyId 嫁接签领用ID
     * @return 嫁接签领用
     */
    @Override
    public GraftinglabelApplyCon selectGraftinglabelApplyById(Long graftinglabelApplyId)
    {
        return graftinglabelApplyConMapper.selectGraftinglabelApplyById(graftinglabelApplyId);
    }

    /**
     * 查询嫁接签领用列表
     *
     * @param graftinglabelApplyCon 嫁接签领用
     * @return 嫁接签领用
     */
    @Override
    public List<GraftinglabelApplyCon> selectGraftinglabelApplyList(GraftinglabelApplyCon graftinglabelApplyCon)
    {
        return graftinglabelApplyConMapper.selectGraftinglabelApplyList(graftinglabelApplyCon);
    }

    /**
     * 新增嫁接签领用
     *
     * @param graftinglabelApplyCon 嫁接签领用
     * @return 结果
     */
    @Override
    public int insertGraftinglabelApply(GraftinglabelApplyCon graftinglabelApplyCon)
    {
        graftinglabelApplyCon.setCreateTime(DateUtils.getNowDate());
        return graftinglabelApplyConMapper.insertGraftinglabelApply(graftinglabelApplyCon);
    }

    /**
     * 修改嫁接签领用
     *
     * @param graftinglabelApplyCon 嫁接签领用
     * @return 结果
     */
    @Override
    public int updateGraftinglabelApply(GraftinglabelApplyCon graftinglabelApplyCon)
    {
        graftinglabelApplyCon.setUpdateTime(DateUtils.getNowDate());
        return graftinglabelApplyConMapper.updateGraftinglabelApply(graftinglabelApplyCon);
    }

    /**
     * 批量删除嫁接签领用
     *
     * @param graftinglabelApplyIds 需要删除的嫁接签领用ID
     * @return 结果
     */
    @Override
    public int deleteGraftinglabelApplyByIds(Long[] graftinglabelApplyIds)
    {
        return graftinglabelApplyConMapper.deleteGraftinglabelApplyByIds(graftinglabelApplyIds);
    }

    /**
     * 删除嫁接签领用信息
     *
     * @param graftinglabelApplyId 嫁接签领用ID
     * @return 结果
     */
    @Override
    public int deleteGraftinglabelApplyById(Long graftinglabelApplyId)
    {
        return graftinglabelApplyConMapper.deleteGraftinglabelApplyById(graftinglabelApplyId);
    }

    /**
     * 更新库存量表
     *
     * @param graftinglabelApplyCon 嫁接签领用ID
     * @return 结果
     */
    @Override
    public int updateGraftinglabelAmount(GraftinglabelApplyCon graftinglabelApplyCon){
        return graftinglabelApplyConMapper.updateGraftinglabelAmount(graftinglabelApplyCon);
    }

    /**
     * 更新领用状态
     *
     * @param graftinglabelApplyId 嫁接签领用ID
     * @return 结果
     */
    @Override
    public int updateConsumeStatus(Long graftinglabelApplyId){
        return graftinglabelApplyConMapper.updateConsumeStatus(graftinglabelApplyId);
    }

    /**
     * 退回操作
     *
     * @param graftinglabelApplyId 嫁接签领用ID
     * @return 结果
     */
    @Override
    public int updateApprovalStatus(Long graftinglabelApplyId){
        return graftinglabelApplyConMapper.updateApprovalStatus(graftinglabelApplyId);
    }
}
